package ACWing.acwing每日一题._5991数字诗意;

public class Main {
    // 是否是有诗意的
    private static boolean isShi(long n){
        if(n<=2)
            return false;
        // 最少长度2，最大长度根号下（2*n）
        int max_len = (int)Math.sqrt(2*n)+1;
        for(int i=2;;i++){
            // 从最左边开始
            int sum = (1+i)*i /2;
            int t =0;
            if(sum>n)
                break;
            while (sum<n){
                sum+=i;
                t++;
            }
            if(sum==n) {
//                for (int j = 0; j < i; j++) {
//                    System.out.print((1+j+t)+" ");
//                }
                return true;
            }
        }
        return false;
    }
    /*
    1
2
4
8
16
32
64
128
256
512
1024
2048
     */
    public static void main(String[] args) {
        for (int i = 1; i < 3000; i++) {
            boolean shi = isShi(i);
            if(!shi)
                System.out.println(i);

        }
    }
}
